package com.zjuee.service.auth.service;

import com.zjuee.base.model.common.auth.Org;
import com.zjuee.service.auth.vo.OrgVo;

import java.util.List;

/**
 * @author wu liang
 * @since 1.0
 */
public interface OrgService {

    /**
     * 新增
     *
     * @param type OrgVo
     * @return Long
     */
    Long add(OrgVo type);

    /**
     * 修改
     *
     * @param type OrgVo
     * @return Boolean
     */
    Boolean update(Org type);

    /**
     * 删除
     *
     * @param id Long
     * @return Boolean
     */
    Boolean delete(Long id);

    /**
     * 仅获取政府类型的组织机构（树形式）
     *
     * @return List<OrgVo>
     */
    List<OrgVo> govOrg();

    /**
     * 通过 ID 查询
     *
     * @param id Long
     * @return Org
     */
    Org selectById(Long id);

    /**
     * 查询子集
     *
     * @param parentId Long
     * @return List<OrgVo>
     */
    List<Org> subList(Long parentId);


}
